#include "xhash.h"
#include <string.h>
#include <stdlib.h>

int xhash4int(const void *ival){
  int *val=(int *)ival;
  return *val;
}

int xhash4str(const void *cstr){
  char *pstr=(char *)cstr;
  int h = 5381;
  size_t len = strlen(pstr);
  if(len == 0){
    return (h << 5);
  }

  int off = 0;

  int i=0;
  for (; i < len; i++) {
    h = (h << 5) + h + pstr[off++];
  }

  return h;
}
